package com.xbongbong.paas.service;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.pro.esign.pojo.dto.EsignFeeChargeDTO;
import com.xbongbong.pro.esign.pojo.dto.EsignFeeLogDTO;
import com.xbongbong.pro.esign.pojo.dto.EsignFeePayStatusDTO;
import com.xbongbong.pro.esign.pojo.dto.EsignFeeQrCodeDTO;
import com.xbongbong.pro.esign.pojo.dto.EsignPayInfoDTO;
import com.xbongbong.pro.esign.pojo.vo.EsignFeeChargeVO;
import com.xbongbong.pro.esign.pojo.vo.EsignFeeInfoVO;
import com.xbongbong.pro.esign.pojo.vo.EsignFeeLogVO;
import com.xbongbong.pro.esign.pojo.vo.EsignFeePayStatusVO;
import com.xbongbong.pro.esign.pojo.vo.EsignFeeQrCodeVO;
import com.xbongbong.pro.esign.pojo.vo.EsignPayInfoVO;

/**
 * e签宝
 * 创建时间 2020/6/17 11:28 AM
 * 修改时间 2020/6/17 11:28 AM
 * @author chy
 */
public interface EsignFeeService {
    /**
     * 获取e签宝套餐信息
     * @param baseDTO
     * @return
     * @throws XbbException
     * 创建时间 2020/6/17 1:36 PM
     * 修改时间 2020/6/17 1:36 PM
     * @author chy
     */
    EsignFeeInfoVO getInfo(BaseDTO baseDTO) throws XbbException;

    /**
     * e签宝套餐付款
     * @param esignFeeChargeDTO
     * @return
     * @throws XbbException
     * 创建时间 2020/6/17 1:36 PM
     * 修改时间 2020/6/17 1:36 PM
     * @author chy
     */
    EsignFeeChargeVO charge(EsignFeeChargeDTO esignFeeChargeDTO) throws XbbException;

    /**
     * 获取e签宝套餐支付状态
     * @param esignFeePayStatusDTO
     * @return
     * @throws XbbException
     * 创建时间 2020/6/17 1:37 PM
     * 修改时间 2020/6/17 1:37 PM
     * @author chy
     */
    EsignFeePayStatusVO checkPayStatus(EsignFeePayStatusDTO esignFeePayStatusDTO) throws XbbException;

    /**
     * 获取支付宝二维码
     * @param esignFeeQrCodeDTO
     * @return
     * @throws XbbException
     * 创建时间 2020/6/17 2:51 PM
     * 修改时间 2020/6/17 2:51 PM
     * @author chy
     */
    EsignFeeQrCodeVO getQRCode(EsignFeeQrCodeDTO esignFeeQrCodeDTO) throws XbbException;

    /**
     * 获取e签宝套餐购买记录列表
     * @param esignFeeLogDTO
     * @return
     * @throws XbbException
     * 创建时间 2020/6/17 2:58 PM
     * 修改时间 2020/6/17 2:58 PM
     * @author chy
     */
    EsignFeeLogVO logList(EsignFeeLogDTO esignFeeLogDTO) throws XbbException;

    /**
     * 获取e签宝套餐支付宝支付信息
     * @param esignPayInfoDTO
     * @return
     * @throws XbbException
     * 创建时间 2020/6/17 2:58 PM
     * 修改时间 2020/6/17 2:58 PM
     * @author chy
     */
    EsignPayInfoVO getPayInfo(EsignPayInfoDTO esignPayInfoDTO) throws XbbException;
}
